Some computer systems, such as for example Enterprise Resource Planning (ERP) systems or Supply Chain Management (SCM) systems, support functions to plan material requirements for production. Complex products that include many components typically have large bills of materials (BOM). A bill of materials includes all components of a product in a hierarchical structure. The hierarchy indicates for each component which parent component is needed. A parent component can have multiple child components. When running material requirements planning for multiple products, multiple BOMs are processed simultaneously because some of the products may use the same components. Therefore, to plan these components that are used by multiple products, the requirements by each of the products are to be considered.
Some systems use parallelization to cope with a huge amount of data in case of simultaneous planning of many products. To ensure that all requirements are considered for a specific component, some systems create a data structure that includes the BOMs of all products being subject to material requirements planning and introduce planning levels in this data structure. Within a planning level, all components are planned before the system moves on to the next planning level. This guarantees that all requirements of the previous planning level are considered.
However, when using parallelization, it can occur that all but one component of a planning level are already planned and the system cannot move on to the next planning level because of the one still unplanned component. As a consequence, only one process is active while the last component of a planning level gets planned, whereas other parallel processes remain idle.
The idle processes have to wait until the last process finishes before parallel processing at the next planning level can continue. The waiting period can be long. In the case of configurable products, individual customer requirements exist at more than just the final product level which may cause waiting times at multiple planning levels. For example, if the final product is a kitchen, an inlay shelf may be included which is also included as a component in almost any other kitchen of the kitchen manufacturer. Thus, having orders for various kitchens creating requirements in the MRP for the same shelf, this shelf can become a long-runner in the MRP that occupies a process for hours and leaves the other processes waiting before moving to the next planning level.
Usually, such long-runners can be found at various planning levels and can form multiple barriers to parallel planning.